home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 52 / 64er_Magazin_Sonderheft_52_19xx_Markt__Technik_de_Side_B.d64 / listing 11 (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  3KB  |  100 lines

  1. 0 rem *****************************
  2. 1 rem * adventure-programmierkurs *
  3. 2 rem *                           *
  4. 3 rem *     uebungs-programm      *
  5. 4 rem *****************************
  6. 9 rem basic-erweiterung
  7. 10 data76,24,1,177,251,145,251,200,208,249,230,252,202,208,244,96,120,160,0,169
  8. 12 data160,132,251,133,252,162,32,32,11,1,169,224,132,251,133,252,162,32,32,11
  9. 14 data1,169,53,133,1,88,96:fori=264to310:readx:pokei,x:next:sys264
  10. 16 fori=710to730:readx:pokei,x:next
  11. 18 data208,3,76,29,168,32,192,2,32,19,166,56,165,95,233,1,164,96,76,36,168
  12. 20 poke40996,197:poke40997,2:poke1,54
  13. 22 fori=43168to43170:readx:pokei,x:next
  14. 24 fori=704to709:readx:pokei,x:next
  15. 26 data32,192,2,32,138,173,76,247,183
  16. 30 gosub52000: rem tabellen deffinieren
  17. 100 zn=1:goto1130
  18. 1000 rem a c t i o n m o d u l
  19. 1010 gosub50000:rem befehlseingabemodul
  20. 1100 rem gehen in ein neues zimmer
  21. 1105 ifve<1orve>10then1200
  22. 1110 ifri(ve)=0thenprint"kein weg in diese richtung !":goto1200
  23. 1120 zn=ri(ve):print"[147]"
  24. 1130 gosub 10000+zn*100
  25. 1140 restore 10000+zn*100
  26. 1150 fori=1to10:readri(i):next
  27. 1200 goto1000
  28. 10000 rem ------- spielkarte -------
  29. 10100 rem raum 1 ---------
  30. 10102 data 0,3,0,2,0,0,0,0,0,0
  31. 10105 print"raum nummer 1"
  32. 10120 return
  33. 10200 rem raum 2 ---------
  34. 10202 data 0,5,1,0,0,0,0,6,0,0
  35. 10205 print"raum nummer 2"
  36. 10220 return
  37. 10300 rem raum 3 ---------
  38. 10302 data 1,0,0,0,0,0,0,0,0,4
  39. 10305 print"raum nummer 3"
  40. 10320 return
  41. 10400 rem raum 4 ---------
  42. 10402 data 0,0,0,0,0,0,0,0,3,0
  43. 10405 print"raum nummer 4"
  44. 10420 return
  45. 10500 rem raum 5 ---------
  46. 10502 data 2,0,0,0,0,0,0,0,0,0
  47. 10505 print"raum nummer 5"
  48. 10520 return
  49. 10600 rem raum 6 ---------
  50. 10602 data 0,0,0,0,2,0,0,0,0,0
  51. 10605 print"raum nummer 6"
  52. 10620 return
  53. 50000 rem ****************************
  54. 50010 rem *     befehlseingabe       *
  55. 50020 rem *     befehlszerlegung     *
  56. 50030 rem *     befehlscodierung     *
  57. 50040 rem ****************************
  58. 50050 ifud=1then50220
  59. 50060 poke198,0:be$="":print"was nun ? ";
  60. 50070 poke204,0
  61. 50080 getx$:ifx$=""then50080
  62. 50090 ifpeek(203)=1orlen(be$)>68thenprint" ":poke204,1:goto50140
  63. 50100 i=asc(x$):ifi<65ori>90thenifi<>32andi<>20andi<>34then50080
  64. 50110 ifi=20andbe$=""then50080
  65. 50120 ifi=20thenpoke204,1:print"[157]  [157][157]";:be$=left$(be$,len(be$)-1):goto50070
  66. 50130 printx$;:be$=be$+x$:goto50080
  67. 50140 fori=1to10:be$(i)="":next:wz=1:fori=1tolen(be$)
  68. 50150 :ifmid$(be$,i,1)=" "thengosub50190:goto50180
  69. 50160 :ifwz>10thenprint"eingabe ist zu lang !":i=len(be$)+1:goto50180
  70. 50170 :be$(wz)=be$(wz)+mid$(be$,i,1)
  71. 50180 nexti:goto50220
  72. 50190 ic=0:fori1=1toaz:ifbe$(wz)=au$(i1)thenic=1
  73. 50200 nexti1:ific=0thenwz=wz+1:return
  74. 50210 be$(wz)="":return
  75. 50220 ifud=1thenud=0:goto50240
  76. 50230 wz=1:ve=0:ob=0:pe=0
  77. 50240 ic=0:g1=0:g2=0
  78. 50250 fori=1tovz:ifbe$(wz)=ve$(i)thenve=i:ic=1
  79. 50251 iflen(be$(wz))<3then50260
  80. 50255 ifbe$(wz)=left$(ve$(i),len(be$(wz)))thenve=i-val(right$(ve$(i),1)):ic=1
  81. 50260 nexti:ific=1then50350
  82. 50270 fori=1togz:ifbe$(wz)<>ge$(i)then50300
  83. 50280 ic=1:ifg1=0theng1=i
  84. 50290 g2=i:ifg2=g1theng2=0
  85. 50300 nexti:ific=1then50350
  86. 50310 fori=1tooz:ifbe$(wz)=ob$(i)thenob=i:ic=1
  87. 50320 nexti:ific=1then50350
  88. 50330 fori=1topz:ifbe$(wz)=pe$(i)thenpe=i:ic=1
  89. 50340 nexti
  90. 50350 ifbe$(wz)="und"thenud=1:ic=1
  91. 50360 ific=0thenprint"ich kenne ";be$(wz);" nicht !":return
  92. 50370 wz=wz+1:ifwz>10orbe$(wz)=""orud=1thenreturn
  93. 50380 ic=0:goto50250
  94. 52000 rem t a b e l l e n
  95. 52005 restore52000
  96. 52010 rem verbtabelle ---------
  97. 52020 datan,s,w,o,nw,no,sw,so,rauf,runter
  98. 52100 vz=10:dimve$(vz):fori=1tovz:readve$(i):next
  99. 53000 return
  100.